import logging

import requests

from commons.global_info import base_url
from utils.replace_both import var_replace_value

logger = logging.getLogger(__name__)


class Session(requests.Session):

    def request(self, method, url, **kwargs):
        # 当url中存在path变量时，进行替换
        if "{" in url and "}" in url:
            url = var_replace_value(url)
        url = base_url + url

        logger.info(f"请求方法：{method}\n请求地址： {url}\n请求参数： {kwargs}")
        res = super().request(method, url, **kwargs)
        logger.info(f"响应状态码： {res.status_code}")
        logger.info(f"响应头： {res.headers}")
        logger.info(f"响应结果： {res.json()}")
        return res
